package com.graduation.springbootinit.service;

import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
import com.graduation.springbootinit.common.BaseResponse;
import com.graduation.springbootinit.model.entity.ShopPart.MonthlyStoreSales;

import java.math.BigDecimal;
import java.util.List;

public interface MonthlyStoreSalesService {
    
    /**
     * 统计并更新指定年月的商铺销售数据
     */
    void calculateAndUpdateMonthlySales(Integer year, Integer month);
    
    /**
     * 获取指定年月的所有商铺销售数据
     */
    BaseResponse<List<MonthlyStoreSales>> getMonthlyStoreSales(Integer year, Integer month);
    
    /**
     * 获取指定商铺的销售历史数据（分页）
     */
    BaseResponse<Page<MonthlyStoreSales>> getStoreSalesHistory(Long storeId, Integer pageNum, Integer pageSize);
    
    /**
     * 获取指定年月的平台总销售额
     */
    BaseResponse<BigDecimal> getTotalSalesByMonth(Integer year, Integer month);
    
    /**
     * 获取指定年份的月度销售数据
     */
    BaseResponse<List<MonthlyStoreSales>> getYearlyStoreSales(Integer year);
    
    /**
     * 获取指定商铺在指定年月的销售数据
     */
    BaseResponse<MonthlyStoreSales> getStoreMonthlySales(Long storeId, Integer year, Integer month);



}